home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / BARNET / ARMLINUX / MAIL / 9807 / 000235_owner-linux-arm…r.rutgers.edu _Wed Jul 22 10:26:07 1998.msg < prev    next >
Internet Message Format  |  1998-08-03  |  6KB

  1. Return-Path: <owner-linux-arm-outgoing@vger.rutgers.edu>
  2. Received: from virtual.bbc.co.uk (virtual.bbc.co.uk [132.185.132.199])
  3.     by odie.barnet.ac.uk (8.8.6/8.8.6) with ESMTP id KAA04828
  4.     for <willy@odie.barnet.ac.uk>; Wed, 22 Jul 1998 10:26:06 +0100
  5. Received: from nic.funet.fi (nic.funet.fi [128.214.248.6])
  6.     by virtual.bbc.co.uk (8.8.5/8.8.5) with ESMTP id KAA00820
  7.     for <willy@bofh.ai>; Wed, 22 Jul 1998 10:26:35 +0100 (BST)
  8. Received: from vger.rutgers.edu ([128.6.190.2]:31768 "EHLO vger.rutgers.edu" ident: "TIMEDOUT") by nic.funet.fi with ESMTP id <1528-14900>; Wed, 22 Jul 1998 12:24:50 +0300
  9. Received: by vger.rutgers.edu id <971326-9949>; Wed, 22 Jul 1998 03:52:03 -0400
  10. Received: from chaos.oregan.net ([195.173.86.1]:23318 "EHLO chaos.oregan.net" ident: "root") by vger.rutgers.edu with ESMTP id <971406-9949>; Wed, 22 Jul 1998 03:48:55 -0400
  11. Received: from chaos.oregan.net (phil@chaos.oregan.net [195.173.86.1])
  12.     by chaos.oregan.net (8.8.8/8.8.8) with SMTP id KAA13749;
  13.     Wed, 22 Jul 1998 10:20:14 +0100
  14. Date:     Wed, 22 Jul 1998 10:20:14 +0100 (BST)
  15. From: Phil Norman <phil@oregan.net>
  16. To: Hendrik den Hartog <pasa@ak.planet.gen.nz>
  17. cc: linux-arm@vger.rutgers.edu
  18. Subject: Re: Arm-Linux onto a SCSI
  19. In-Reply-To: <Marcel-1.41-0722061328-b49$fSW@pasa.ak.planet.gen.nz>
  20. Message-ID: <Pine.LNX.3.95.980722094701.10020F-100000@chaos.oregan.net>
  21. MIME-Version: 1.0
  22. Content-Type: TEXT/PLAIN; charset=US-ASCII
  23. X-Orcpt: rfc822;linux-arm@vger.rutgers.edu
  24. Sender: owner-linux-arm@vger.rutgers.edu
  25. Precedence: bulk
  26. X-Loop: majordomo@vger.rutgers.edu
  27. Status: RO
  28.  
  29. OK.  This is a little more long-winded than it needs to be, but I've
  30. written this with the intention (since this subject has, AFAICR, come up
  31. more than once before) that it can be put in the mailing list archive.  It
  32. might be a good idea to follow this up by putting a copy of
  33. linux/Documents/devices.txt on the armlinux ftp/web site so people can
  34. refer to it when working out major/minor numbers etc.
  35.  
  36.  
  37. On Wed, 22 Jul 1998, Hendrik den Hartog wrote:
  38.  
  39. >  In particular, the instructions I used to install linux to an IDE
  40. >  drive had..
  41. >  
  42. >  'mknod /dev/hda? b 3 3'  
  43. >  
  44. >  with a formulae for working out the last '2nd' number that went....  
  45. >   
  46. >  64* ?+Partition Number etc. (then some dire warnings about not 
  47. >  getting this mknod command wrong)
  48. >    
  49. >  What I'd like to know is the 'version' of this for a scsi drive, 
  50.  
  51. AFAICR, the second of those two numbers is as you say, and the first
  52. number is the number of the device type itself.  A list of these and a
  53. complete guide to working out the numbers (and other bits and pieces) can
  54. be found amongst the linux kernel source, in (assuming you have the kernel
  55. source installed in /usr/src):
  56.  
  57. /usr/src/linux/Documentation/devices.txt
  58.  
  59. [looks in said file]
  60.  
  61. It took me a little while to work out which bits of the file meant what.
  62. So here's a run-down on how to decode the thing.
  63.  
  64. Firstly, do 'man mknod'.  This tells you you should use mknod like this:
  65.  
  66. mknod [options] filename {bcu} major minor
  67.  
  68. We'll ignore options.  'filename' is the device filename which, for (as an
  69. example) partition 3 on your first SCSI disc, will be '/dev/sda3'.  The
  70. major and minor numbers I'll go into later, but the {bcu} bit is either:
  71.  
  72. b: block (buffered) special file
  73. c: character special file
  74. u: unbuffered character special file
  75.  
  76. We're not after a character device (that's for things like keyboards and
  77. serial ports where the input/output is in a steady stream).  We're after
  78. type 'b'.
  79.  
  80. Now all we need is are the major and minor numbers.
  81.  
  82. If you look down the devices.txt file you'll see a load of entries which
  83. have, on the left hand side, a number followed by 'block', 'char' or maybe
  84. something else too.  The number is the major device number, and the word
  85. describes the kind of device it is (ie 'block' corresponds to 'b' in the
  86. mknod arguments, 'char' to 'c' etc).  Then, for each of these entries,
  87. there's some descriptive text.  This text describes the minor number, and
  88. how to get it.
  89.  
  90. We need SCSI discs in this case, so search for 'SCSI' in the file.  We now
  91. have a section which describes the kind of numbers you should use to
  92. creating SCSI device inodes.  From this block we can see that:
  93.  
  94. The number on the right is '8' (the major number) and it is, indeed, a
  95. block device.
  96.  
  97. You can fit a maximum of 15 partitions per SCSI disc (cf IDE discs which
  98. can take up to 63 partitions).  There is a good reason for this.  You can
  99. only have 4 IDE discs (the minor number then going up to a maximum of 255)
  100. whereas you can have up to 16 SCSI discs (256/16 = 16, therefore 15
  101. partitions (one number is allocated to accessing the entire disc)).
  102.  
  103. So.  We now know that the letter we need is 'b', the major number is '8'
  104. (yeek - sounds like sesame street!) and we know how to calculate the
  105. minor number.  So here's a few examples:
  106.  
  107. For partition 3 on the first SCSI disc:
  108.  
  109.   mknod /dev/sda3 b 8 3
  110.  
  111. For partition 5 on the second SCSI disc:
  112.  
  113.   mknod /dev/sdb5 b 8 21
  114.  
  115. There.  Easy when you know how.  Now I'll expect you to be able to work
  116. out the arguments for mknod for any device you encounter.  Enjoy,
  117.  
  118. Phil
  119.  
  120. -- 
  121. strcpy((newstring=(char *)malloc(1+strlen(source)))? newstring :
  122.         (exit(1), 0), source);
  123.  
  124. Phil Norman, mailing from Oregan Networks.
  125. email:    forrey@eh.org
  126. URL:    http://newton.ex.ac.uk/general/ug/norman
  127.  
  128. unsubscribe: body of `unsubscribe linux-arm' to majordomo@vger.rutgers.edu